<?php
defined('SYSPATH') or die('No direct access allowed.');
interface Model_Interface {
     /**
      *
      * @param <type> $id 
      */
    public function load($id);

    /**
     *
     * @param <type> $o_entity 
     */
    public function insert_by($o_entity);

    /**
     *
     * @param <type> $o_entity 
     */
    public function update_by($o_entity);

    /**
     *
     * @param <type> $id 
     */
    public function delete_by($id);

    /**
     * @return Domain_Entities_Category
     */
    public function get_data();

    /**
     *
     * @param <type> $s_column is mane of column in db
     * @param <type> $a_option is array( where,order by, group by, limit, offset )
     * @param <type> $val
     */
    public function builder_select($s_column, $a_option, $val = null);

    /**
     *
     * @param <type> $a_columns
     */
    public function set_column($a_columns = array());

    /**
     *
     * @param <type> $column
     * @return <type>
     */
    public function query_all($column= array());

     /**
     *
     * @param <type> $column
     * @return <type>
     */
    public function query($column= array());

    /**
     *
     * @param <type> $offset
     * @param <type> $limit
     * @return <type>
     */
    public function load_all($offset, $limit,$filter , $sort ,$count);
 
}

?>
